CSharpTest.Net
TryUpdate(TKey,TValue,TValue) Method
See Also  Example Send Feedback Download Help File
CSharpTest.Net.Library Assembly > CSharpTest.Net.Collections Namespace > SynchronizedDictionary<TKey,TValue> Class > TryUpdate Method : TryUpdate(TKey,TValue,TValue) Method

key
The object to use as the key of the element to update.
value
The new value for the key if found.
comparisonValue
The value that is compared to the value of the element with key.

Glossary Item Box

Updates an element with the provided key to the value if it exists.

Syntax

Visual Basic (Declaration) 
Public Overloads Function TryUpdate( _
   ByVal key As TKey, _
   ByVal value As TValue, _
   ByVal comparisonValue As TValue _
) As Boolean
C# 
public bool TryUpdate( 
   TKey key,
   TValue value,
   TValue comparisonValue
)

Parameters

key
The object to use as the key of the element to update.
value
The new value for the key if found.
comparisonValue
The value that is compared to the value of the element with key.

Return Value

Returns true if the key provided was found and updated to the value.

Exceptions

ExceptionDescription
System.NotSupportedExceptionThe IDictionary is read-only.

Example

Library/Library.Test/TestSynchronizedCollections.cs

C#Copy Code
SynchronizedDictionary<int, string> data =
    new SynchronizedDictionary<int, string>(new Dictionary<int, string>());

Assert.IsTrue(data.TryAdd(1, "a"));
Assert.IsFalse(data.TryAdd(1, "a"));

Assert.IsTrue(data.TryUpdate(1, "a"));
Assert.IsTrue(data.TryUpdate(1, "c"));
Assert.IsTrue(data.TryUpdate(1, "d", "c"));
Assert.IsFalse(data.TryUpdate(1, "f", "c"));
Assert.AreEqual("d", data[1]);
Assert.IsTrue(data.TryUpdate(1, "a", data[1]));
Assert.AreEqual("a", data[1]);
Assert.IsFalse(data.TryUpdate(2, "b"));

string val;
Assert.IsTrue(data.TryRemove(1, out val) && val == "a");
Assert.IsFalse(data.TryRemove(2, out val));
Assert.AreNotEqual(val, "a");

Assert.IsFalse(data.TryUpdate(1, (k, x) => x.ToUpper()));
data[1] = "a";
data[1] = "b";
Assert.IsTrue(data.TryUpdate(1, (k, x) => x.ToUpper()));
Assert.AreEqual("B", data[1]);
VB.NETCopy Code
Dim data As New SynchronizedDictionary(Of Integer, String)(New Dictionary(Of Integer, String)())

Assert.IsTrue(data.TryAdd(1, "a"))
Assert.IsFalse(data.TryAdd(1, "a"))

Assert.IsTrue(data.TryUpdate(1, "a"))
Assert.IsTrue(data.TryUpdate(1, "c"))
Assert.IsTrue(data.TryUpdate(1, "d", "c"))
Assert.IsFalse(data.TryUpdate(1, "f", "c"))
Assert.AreEqual("d", data(1))
Assert.IsTrue(data.TryUpdate(1, "a", data(1)))
Assert.AreEqual("a", data(1))
Assert.IsFalse(data.TryUpdate(2, "b"))

Dim val As String
Assert.IsTrue(data.TryRemove(1, val) AndAlso val = "a")
Assert.IsFalse(data.TryRemove(2, val))
Assert.AreNotEqual(val, "a")

Assert.IsFalse(data.TryUpdate(1, Function(k, x) x.ToUpper()))
data(1) = "a"
data(1) = "b"
Assert.IsTrue(data.TryUpdate(1, Function(k, x) x.ToUpper()))
Assert.AreEqual("B", data(1))

Requirements

Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7

See Also

Generated with Document! X 2011 by Innovasys